package com.ruoyi.system.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.domain.FileManage;
import io.swagger.models.auth.In;
import lombok.Data;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

/**
 * 隐患录入记录表(PreventionHiddenRegister)实体类
 * @since 2022-11-28 12:12:00
 */
@Data
public class PreventionHiddenRegister implements Serializable {
    private static final long serialVersionUID = 378325283231550558L;
    
    private Integer id;
    // 附件表ID hidden_file_id
    private String hiddenFileId;
    /**
     * 隐患排查类型
     */
    @Excel(name = "隐患排查类型")
    private String hiddenCheckType;
    /**
     * 隐患来源
     */
    @Excel(name = "隐患来源")
    private String hiddenSource;
    /**
     * 隐患排查人
     */
    @Excel(name = "登记人")
    private String hiddenCheckUser;
    /**
     * 隐患排查时间
     */
    @Excel(name = "登记时间")
    private String hiddenCheckTime;
    /**
     * 部门名称
     */
    @Excel(name = "部门名称")
    private String deptName;
    /**
     * 部门ID
     */
    private Integer deptId;
    /**
     * 隐患分类

     */
    @Excel(name = "隐患分类")
    private String hiddenType;
    /**
     * 所属类别

     */
    @Excel(name = "所属类别")
    private String hiddenBelongType;
    /**
     * 隐患级别

     */
    @Excel(name = "隐患等级")
    private String hiddenLevel;
    /**
     * 可否接受

     */
    private String acceptable;
    /**
     * 隐患录入依据
     */
    @Excel(name = "隐患产生原因")
    private String hiddenEntryBasis;
    /**
     * 排查级别
     */
    @Excel(name = "排查级别")
    private String checkLevel;
    /**
     * 隐患描述
     */
    @Excel(name = "隐患描述")
    private String hiddenInfo;
    /**
     * 建议整改措施
     */
    @Excel(name = "建议整改措施")
    private String hiddenRectificationMeasures;
    /**
     * 整改责任人
     */
    @Excel(name = "整改责任人")
    private String rectificationUserName;
    /**
     * 整改责任人ID
     */
    private Integer rectificationUserId;
    private Integer rectificationId;
    /**
     * 复核人
     */
    @Excel(name = "复核人")
    private String reviewUserName;
    /**
     * 复核人ID
     */
    private Integer reviewUserId;
    /**
     * 整改开始日期
     */
    private String rectificationStartTime;
    /**
     * 整改结束日期
     */
    @Excel(name = "隐患治理期限")
    private String rectificationEndTime;
    /**
     * 登记人
     */
    private String registerUserName;
    /**
     * 登记人ID
     */
    private Integer registerUserId;
    private Integer registerId;
    /**
     * 隐患登记后通过或驳回 0-未操作 1-通过 2-驳回
     */
    @Excel(name = "隐患登记后通过或驳回 0-未操作 1-通过 2-驳回")
    private Integer hiddenState;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String governId;

    /**
     * 驳回或通过说明
     */
    @Excel(name = "驳回或通过说明")
    private String hiddenStateInfo;
    /**
     * 整改照片路径
     */
    private String completeHiddenFileUrl;
    /**
     * 整改照片名称
     */
    private String completeHiddenFileName;
    /**
     * 整改照片ID
     */
    private Integer completeHiddenFileId;
    /**
     * 治理资金
     */
    @Excel(name = "治理资金")
    private String hiddenManagingFunds;
    /**
     * 整改完成情况
     */
    @Excel(name = "整改完成情况")
    private String hiddenCompleteInfo;
    /**
     * 整改完成时间
     */
    @Excel(name = "整改完成时间")
    private String hiddenCompleteTime;
    /**
     * 复核情况
     */
    @Excel(name = "复核情况")
    private String hiddenReviewInfo;
    /**
     * 隐患名称
     */
    @Excel(name = "隐患名称")
    private String hiddenName;
    /**
     * 复核时间
     */
    @Excel(name = "复核时间")
    private String hiddenReviewTime;
    /**
     * 隐患进度（待修改、待审核、待复核、完成、待整改、已驳回、已超时）
     */
    @Excel(name = "隐患进度")
    private String hiddenProgress;

    // 巡检任务ID
    private Integer inspectionPlanTaskId;
    // 巡检点位ID
    private Integer inspectionPlanTaskPointId;

    // 隐患任务表ID
    private Integer preventionCheckTaskId;
    // 隐患配置表ID
    private Integer preventionCheckTaskConfigId;

    private List<FileManage> fileManageList;

    private PreventionHiddenInfoRecord preventionHiddenInfoRecord;

    private String dangerCode;

    private Integer securityRiskId;
    private String riskGovernId;
    private String riskControlGovernId;
    private Integer deviceId;
    private String analysisUnit;
    private String dangerEvent;
    private String controlMeasures;

    private String tempType;
    private String startTime;
    private String endTime;

    private String hiddenFrom;
    @JsonSerialize(using= ToStringSerializer.class)
    private Long hiddenId;
}

